1. Field of the Invention
The present invention relates to a storage system and a control method for the storage system, and more particularly to a clustered storage system in which a plurality of storage system nodes is made operable as a single storage system, and a control method for such a storage system.
2. Related Background Art
A storage system may be structured by using a common bus method to mutually connect a host adaptor as an interface with a host computer, which is a host apparatus, that uses the storage system; a disk adaptor as an interface with storage devices such as magnetic disk devices within the storage system; a cache memory; and a management memory.
When expanding the system configuration of a storage system having the configuration described above, storage system components such as host adaptors, disk adaptors, cache memories and management memories are added. For example, to increase the number of connections with the host computer, new host adaptors are connected to the common bus. Or, to increase the storage capacity of the storage system, storage devices are added. Or, new disk adaptors are connected to the common bus to add storage devices.
In the meantime, another conventional technology proposed a storage system that perform address conversions to correlate a logical storage area that a host computer accesses with a physical storage area that represents the storage area of a storage device, in order to flexibly locate in the storage device the data to be stored. This technology can realize the optimum location of data stored through a means to obtain information concerning I/O access by the host computer to the logical storage area and a means to physically relocate the data by changing the correlation of the logical storage area with the physical storage area.
In the prior art technology described above, due to the fact that any expansion of the storage system involves the addition of storage system components such as host adaptors, disk adaptors, cache memories, management memories and storage devices, the expandability of a storage system is limited by the maximum number of components mountable on the storage system. As a result, when the maximum number of components mountable on a storage system is set at a high number in order to meet demands for large-scale storage systems, the prior art technology encounters such problems as high costs and large housing volume and/or mounting area when a small-scale storage system is required.
Among systems that can solve the problem described above is a clustered storage system. A clustered storage system is configured by connecting a plurality of storage systems such as those described earlier, but is operable as a single storage system by the host computer and is a storage system that can be managed as a single storage system by the user. Small-scale storage systems comprising such clustered storage systems are hereinafter called storage system nodes.
Clustered storage systems can be a clustered storage system comprising a small number of storage system nodes when a small-scale storage system is required, but it can also be a clustered storage system comprising a larger number of storage system nodes when a large-scale storage system is required. Consequently, an optimum cost, housing volume and/or mounting area can be provided for the scale the user requires. In this way, clustered storage systems can accommodate systems in various sizes from small to large. Furthermore, clustered storage systems can have a means by which data stored in one node can be accessed through an interface of a different node. In this way, a clustered storage system is operable as a single storage system by the host computer; this makes the management of the storage system, as well as the entire computer system including the host computer, easy and has the advantage of reduced management cost compared to the management cost for a plurality of storage systems.
In the clustered storage systems as described above, each storage system node has its own resources such as a processor, a memory, a storage device and a cache. Furthermore, each storage system node uses its own resources to perform I/O processing of subordinate storage devices and processing of data stored in other storage devices, which makes the processing and resource management within the node, as well as system configuration planning and/or system management by the system administrator, easy.
However, in the clustered storage systems described above, due to the fact that the clustered storage system itself is operated as a single storage system, a system administrator or a user, or any processing in the host computer, can take into consideration which interface of which node of the clustered storage system to go through to access certain data. However, an administrator cannot ascertain, and therefore cannot take into consideration, which storage device of which node the data is actually stored in and how much of what resources of which node is used to process the data. The consequence of this can be problems described below.
In the clustered storage systems described above, when processing concentrates on certain data stored in a certain storage system node, the available size and/or processing capability of the resources of the node become insufficient; as a result, processor bottleneck, cache overload, reduction in write performance as a result of waiting for reflection of write back cache data onto storage device, reduction in cache hit rate, internal bus bottleneck, and bottleneck due to storage device overload can occur in the node, and these can lead to a reduction in the processing performance of only that particular node.
Furthermore, the clustered storage systems described above have another problem, in which the cache is occupied by the processing of certain data in a node while the cache hit rate for the processing of other data requiring faster response suffers, i.e., the execution of one processing is impeded by another processing, thereby reducing the performance of both.
Moreover, the clustered storage systems described above have yet another problem, in which in spite of the fact that a certain node has ample resources such as a high-speed storage device and a large capacity cache memory, data with high processing priority and requiring high-speed I/O performance is processed in a node with poorer resources such as a slower storage device and a small capacity cache memory and therefore cannot meet the I/O performance required for the data, i.e., a reduction in processing performance due to matching that is not optimum between storage data and resources used.